package com.example.front.service;

import com.example.front.vo.OrderVo;
import com.example.gok_mall.reponseData.ResultData;
import com.github.pagehelper.PageInfo;



import java.util.Map;

public interface IOrderService {
    //支付接口的实现
    ResultData pay(Long orderNo, Integer userId, String path);

    //支付宝的回调通知接口
    ResultData aliCallback(Map<String,String> params);

    //查询订单状态的接口实现
    ResultData queryOrderPayStatus(Integer userId,Long orderNo);

    //创建订单接口的实现
    ResultData createOrder(Integer userId, Integer shippingId);

    //取消订单接口的开发
    ResultData<String> cancel(Integer userId,Long orderNo);

    //获取购物车接口 (已经选中打算结算的购物车中商品的信息接口)
    ResultData getOrderCartProduct(Integer userId);

    //查询订单详情的接口实现
    ResultData<OrderVo> getOrderDetail(Integer userId, Long orderNo);

    //个人中心查看订单列表接口
    ResultData<PageInfo> getOrderList(Integer userId, int pageNum, int pageSize);

    //backed 管理员层的相关接口实现方法
    ResultData<PageInfo> manageList(int pageNum,int pageSize);

    //后台管理员查看订单详情接口实现
    ResultData<OrderVo> manageDetail(Long orderNo);

    //后台管理员订单搜索接口实现 (暂时是精确匹配)
    ResultData<PageInfo> manageSearch(Long orderNo,int pageNum,int pageSize);

    //管理员根据订单号发货接口
    ResultData<String> manageSendGoods(Long orderNo);
}
